#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
#define rep(i, a, b) for (int i = (a); i <= (b); i++)
#define per(i, a, b) for (int i = (a); i >= (b); i--)
#define endl '\n'
const int N = 105;

int n, m;
int g[N][N];
int clr[N];
void add(int u, int v) { g[u][v] = g[v][u] = 1; }
void dfs(int u, int fu) {
  clr[u] = clr[fu] ^ 1;
  for (int v = 1; v <= n; v++) {
    if (v == fu || !g[u][v]) continue;
    dfs(v, u);
  }
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  rep(i, 2, n) {
    int u, v;
    cin >> u >> v;
    add(u, v);
  }
  dfs(1, 0);
  set<pii> a;
  rep(u, 1, n) rep(v, u + 1, n) {
    if (clr[u] == clr[v]) continue;
    if (g[u][v]) continue;
    a.insert(pii(u, v));
  }
  int m = a.size();
  if (m & 1) {
    cout << "First" << endl;
    cout.flush();
    auto it = a.begin();
    cout << it->first << ' ' << it->second << endl;
    cout.flush();
    a.erase(it);
  } else {
    cout << "Second" << endl;
    cout.flush();
  }
  while (true) {
    int u, v;
    cin >> u >> v;
    if (u > v) swap(u, v);
    if (u == -1 && v == -1) return 0;
    a.erase(pii(u, v));
    auto it = a.begin();
    cout << it->first << ' ' << it->second << endl;
    cout.flush();
    a.erase(it);
  }
  return 0;
}